package com.simple.framework.web.service;


import com.github.zuihou.base.R;
import com.github.zuihou.base.service.SuperService;
import com.simple.business.domain.enumeration.ThirdAuthenticationEnum;
import com.simple.framework.web.domain.login.AuthUserThird;

public interface AuthUserThirdService extends SuperService<AuthUserThird> {
    AuthUserThird getAuthUserInfo(String providerUserId, ThirdAuthenticationEnum provider);

    AuthUserThird insert(AuthUserThird authUserThird);

    R<AuthUserThird> getAuthUserByThirdCode(ThirdAuthenticationEnum provider, String code);

    String genAuthUserBindCode(AuthUserThird authUser);

    R<Boolean> bindUser(AuthUserThird authUserThird, Long userId);

    R<Boolean> bindUser(ThirdAuthenticationEnum provider, String code, Long userId);

    R<Boolean> cancelBind(Long userId,ThirdAuthenticationEnum thirdAuthenticationEnum);

    AuthUserThird getAuthUserThirdByUserId(Long userId, ThirdAuthenticationEnum thirdAuthenticationEnum);

}
